package exame_05_06_2012;

import java.util.ArrayList;

public abstract class Veiculo {

	String matricula;
	private ArrayList<Contratavel> servicosContratados;
	private double custoPorKm;

	public Veiculo() {
		this.servicosContratados = new ArrayList<Contratavel>();
		this.custoPorKm = 0;
		this.matricula = "";
	}

	public Veiculo(String mat, ArrayList<Contratavel> ct, double custo) {
		this.matricula = mat;
		this.servicosContratados = ct;
		this.custoPorKm = custo;
	}

	public Veiculo(Veiculo v) {
		this.matricula = v.getMatricula();
		this.servicosContratados = new ArrayList<Contratavel>();
		this.custoPorKm = v.getCustoPorKm();
	}

	public abstract double custoPorContrato(Contratavel ct);

	public double getCustoPorKm() {
		return this.custoPorKm;
	}

	public String getMatricula() {
		return this.matricula;
	}

	public ArrayList<Contratavel> getServicosContratados() {
		return this.servicosContratados;
	}

	public void setCustoPorKm(double custoPorKm) {
		this.custoPorKm = custoPorKm;
	}

	public void setMatricula(String matricula) {
		this.matricula = matricula;
	}

	public void setServicosContratados(
			ArrayList<Contratavel> servicosContratados) {
		this.servicosContratados = servicosContratados;
	}

	@Override
	public String toString() {
		return this.matricula;
	}
}
